Text/Image data transfer method

ABSTRACT

When performing Push-type data transfer from the side of an image-supply apparatus  100  to a printer  200 P, it is necessary for the printer  200 P to have a buffer that is capable of containing at least the capacity for one page of data. Therefore, the text/image-supply apparatus  100  stores printing-description data obtained from the application on its own memory unit  105 . The image-formation apparatus  200  performs rasterization based on received printing-description data, however, in this process, when there is a link file L that is linked to the top file T of the printing-description data, the image-formation apparatus  200  specifies the link destination and sends a data-acquisition request to the text/image-supply apparatus  100 , so there is no need for a buffer.

TECHNICAL FIELD

This invention relates to an image-data transfer method, image-formationapparatus and image-printing system, and more particularly to animage-data transfer method, image-formation apparatus and image-printingsystem that are connected by a LAN.

BACKGROUND ART

Conventionally, markup language ML such as hypertext in which a tagindicating format and the like is added to text is displayed on acomputer display using browser software. XHTML (Extensible Hyper textMarkup Language), HTML and XML (Extensible Markup Language) are examplesof markup language ML. Files that are written using this markup languageML are mainly stored on a Web server, and browser software that isconnected to the Web server via various networks acquires the markuplanguage ML and interprets that markup language ML and displays it on adisplay or prints it.

In the following explanation, a file that is written using this kind ofmarkup language ML is used in image reproduction such as printing, sohereafter data written in this markup language ML and object data thatare linked from that data are called printing-description data. Thisprinting-description data comprises: top data, which is the highestorder data in the hierarchical structure that determines the skeletalform or the layout of the printed object; and link data (object data),which is linked to the top data.

Next, a printer apparatus and system configuration for performingspecified printing on a recording medium using this printing-descriptiondata will be explained with reference to FIG. 23.

FIG. 23 is a schematic diagram of one example of a prior push model.When the printing-description data edited in markup language ML isoutput from application 11 according to a printing request from theapplication 11, the printing-description data is further converted by aconversion unit 12 to a language such as XHTML format that can be readby the printer and then input to a printer-control unit 13. Of course,in the case that the data is already in a language that can be read bythe printer, conversion does not need to be performed.

In this way, the printer-control unit 13 gives the receivedprinting-description data to a printing-data-conversion unit 16, andhere it is converted to data that can be printed as is by the printer,and then it is laid out in a printing buffer 11.

In other words, the printing-description data edited in markup languageML comprises: a top file portion, which is the highest layer thatdetermines the skeletal structure of the overall printed object, and alink file portion (including other files that are further linked to thelink file), which is the lower layer of the top file. Here, a printingobject that can be drawn directly from the top file is developed as isat the instructed location, and the link file obtains the data of thelink destination, which is then developed at the location instructed bythe printing-description data. That is, here the data is already putinto a form that is the same as the printed form.

After the printing-description data have been laid out, theprinter-control unit 13 outputs a job ID that identifies the data to beprinted together with a print instruction (printing job) to the jobqueue 14. This printing job is interpreted by a interpreter 23 of aprinter 200P via a network, and then according to an instruction fromthe interpreter 23, the data that has been laid out in a printing buffer15 as described above is stored temporarily in the memory 26. Afterwaiting for a specified amount of data, for example one page of data, tobe stored in this memory 26, the interpreter 23 that received theprinting job gives the necessary amount of data that are laid out in thememory 26 to a rasterizer 24. By doing this, the printer engine 21 isready to print the printing-description data on the recording medium.

Moreover, FIG. 24 is a drawing showing an example of prior art that isdifferent than that described above. Here, the printing-control unit 13does not store the data in the printing buffer 15 in the same form asthe printed form, but rather stores the top file and link file that islinked to it as separate files. After this storage process is finished,the printing-control unit 13 issues the printing job and activates theinterpreter 23, while at the same time stores the top file and link filethat are stored in the printing buffer 15 in a buffer 26 on the side ofthe printer. The top file and link file that is linked to it that arestored in the buffer 26 on the side of the printer in this way areconverted to readable data by a conversion unit 27 and then laid outaccording to layout data by the interpreter 23 and rasterizer 22 andthen printed.

The printer apparatus disclosed in Japanese unexamined patentpublication No. 2000-66867 is constructed such that link-destinationdata (for example a URL), which is written in the top data, is stored inadvance on the side of the printer in order to save time when thelink-destination is fixed and when data is printed frequently from thesame place.

The construction shown in FIG. 23 is so-called push type method thattransfers data to the printer from the image-supply apparatus 100without taking into consideration the state of the printer 200P, so itis necessary to have a buffer with a storage capacity of at least onepage of data on the side of the printer 200P as well as on the side ofthe image-supply apparatus 100.

Also, the construction shown in FIG. 24 can be applied to either apush-type method or pull-type method, however, similar to the problemthat occurs in the push-type method, it is necessary to have a printingbuffer with a specified capacity on the printer side, and thus a costdemerit occurs.

DISCLOSURE OF INVENTION

This invention adopts the following means in order to solve the problemsmentioned above.

First, this invention is used between a text/image-supply apparatus andimage-formation apparatus that are connected by a communication means,and the printing process is presumed to be based on printing-descriptiondata that is written in link-file format having a hierarchicalstructure.

Under the aforementioned presumptions, the text/image-supply apparatus100 stores printing-description data obtained from the application inits own memory unit 105. Here, when there is an object that is linked tothe printing-description data, that object can be copied in the memoryunit 105, or it can be stored in a different memory unit 105.

It is sufficient to use the memory unit 105 that the text/image-supplyapparatus 100 originally has for that function as the memory unit 105.

In the state described above, the text/image-supply apparatus 100 issuesa printing job. In the image-formation apparatus 200 that receives thisprinting job, a data-transfer-request unit 2053 sends a request totransfer the printing-description data that is stored in the memory unit105. Based on the printing-description data acquired according to thisrequest, the rasterizer 202 performs the rasterization process. In thisrasterization process, when there is a link file L that is linked to thetop file T of the printing-description data, a data-acquisition requestis sent from the image-formation apparatus 200 to the text/image-supplyapparatus 100 specifying that link destination.

Acquisition of this object is performed an arbitrary amount at a time atan arbitrary timing. This arbitrary timing is after the firstrasterization process is finished for example. Also, the arbitraryamount can be set by a method of presetting the amount to acquire at onetime, and then acquiring that amount each successive time, for example,or the acquisition amount can be calculated and set for eachrasterization by the data-acquisition unit 2054 from the limited amountthat can be rasterized at one time in the rasterization process. Ineither case, the specified amount is acquired starting from the positionat the end of the previous acquisition.

When there is a plurality of objects in the printing-description data,it is preferable that channels corresponding to the objects be set onthe transmission path. By doing so transfer becomes possible for eachobject, and control becomes simple, however it is not absolutelynecessary to do this.

The hard disc of a set-top box, or the memory card of a digital stillcamera can be used as the memory unit on the side of thetext/image-supply apparatus.

With this construction, it is not necessary to have a memory such as ahard disc on the side of the image-formation apparatus.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram showing an embodiment of the invention.

FIG. 2 is a block diagram showing one example of the network environmentto which the invention is applied.

FIG. 3 is a function block diagram showing details of the interpreter.

FIG. 4 is a block diagram showing another embodiment of the invention.

FIG. 5 is a drawing showing an example of an image to which theinvention is applied.

FIG. 6 is a concept drawing of the printing-description data used inthis invention.

FIG. 7 is a detail diagram of the printing-description data.

FIG. 8 is a diagram explaining the rasterization process of thisinvention.

FIG. 9 is a flowchart showing the operating procedure of this invention.

FIG. 10 is a block diagram showing the construction of the printingsystem of a third embodiment of the invention.

FIG. 11 is a drawing showing the network relationship of the thirdembodiment.

FIG. 12 is a block diagram showing the construction of the printingsystem of a fourth embodiment of the invention.

FIG. 13 is a diagram showing a file related to the printing object ofthe third and fourth embodiments.

FIG. 14 is a diagram showing a queuing state for a job in the thirdembodiment.

FIG. 15 is a diagram showing a flowchart for the third embodiment.

FIG. 16 is a diagram showing the channel use in the third embodiment.

FIG. 17 is a diagram showing the relationship between the ports and thefiles to be transferred.

FIG. 18 is a diagram showing the relationship between the jobs andobjects in the third embodiment.

FIG. 19 is a flowchart of the operating procedure of the thirdembodiment.

FIG. 20 is a diagram showing the Bluetooth protocol.

FIG. 21 is a diagram showing the profiles according to application inthe Bluetooth protocol.

FIG. 22 is a diagram showing examples of applications for each profile.

FIG. 23 is a schematic diagram showing a prior printing system.

FIG. 24 is a schematic diagram showing another prior printing system.

BEST MODE FOR CARRYING OUT THE INVENTION Embodiment 1

FIG. 1 is a block diagram showing an example of the construction of theprinting system to which the invention is applied, and FIG. 2 is adiagram of the network to which the system is applied.

In FIG. 2, a text/image-supply apparatus 100 and image-formationapparatus 200 are connected together via a communication means 300. Adigital television or set-top box (STB) can be used as thetext/image-supply apparatus 100, and it is also possible to use anyother kind of device that is a data source. Also, a printer or facsimilemachine can be used as the image-formation apparatus 200. Furthermore, ameans capable of transferring data such as a bus, public network,dedicated line, Internet network or the like can be used between acomputer and the printer as the communication means 300.

FIG. 1 shows the internal construction in the case where a bus 300B(here an IEEE 1394 bus or a bus complying to USB standards) is used asthe communication means 300, a set-top box (STB) 100S is used as thetext/image-supply apparatus 100, and a printer 200P is used as theimage-formation apparatus 200, and FIG. 9 is a flowchart showing theoperating procedure. In FIG. 9, it is presumed that it is possible toset a plurality of channel in the transfer path between thetext/image-supply apparatus 100 and the image-formation apparatus 200.

As shown in FIG. 1, the text/image-supply apparatus 100 comprises thefollowing units. That is, the text/image-supply apparatus 100 comprises:an application 101 that generates printing-description data; aconversion unit 102 that converts the format of the printing-descriptiondata output from the application 101 into a link-file format (here XHTMLwill be used) having a hierarchical structure that can be read by aprinter 200P; a printer-control unit 103 that reads theprinting-description data and issues a printer job, and controls thebuffer for the printing-description data; a printing buffer 105 thetemporarily stores the printing-description data; and a communicationI/F 104, which is the interface that connects to the bus 300B.

Also, the inside of the printer, which is the image-formation apparatus200, comprises: a communication I/F 204 that is the interface forconnecting to the bus 300B; a queue-control unit 203 that is the controlunit of the queue that stores the printer job; an interpreter 205 thatreads the interprets the printing-description data and gives the data tothe rasterizer; a rasterizer 202 that performs rasterization based onthe printing data obtained from the interpreter 205; and a printerengine 201 that visibly outputs and records the rasterizedprinting-description data on a recording medium. In this embodiment, theprinter engine 201 is used to visibly output and record theprinting-description data on a recording medium, however, this printerengine can also be used as the printer engine in an electronic photoimage recording apparatus of an ink-jet type, thermal-transfer type, orlaser printer, or used in a silver-chloride photo printer, or in aprinting apparatus that creates and image-set copy for screen printing.

In the construction above, first, when the user uses the application forexample to send a printing request after editing the printing data, theprinting-description data is output from the application 101. Thisapplication 101 can be a mailer, WEB browser, BML browser, DSC albumthat is capable of editing data of a digital-still camera, or the like.Depending on the layout, the data from these is laid out again, and theconversion unit 102 further converts the data to a language that can beinterpreted on the printer side, such as XHTML format (in the case thatit is already in XHTML format, the data does not need to be convertedand this can be omitted).

In this way, the converted printing-description data is given to theprinter-control unit 103, and then stored in the printing buffer 105. Atthis time, files, such as image object files in the printing-descriptiondata that are linked, are converted to data in a format (JPEG or PNGformat) that can be processed by the printer, and then copied from thesource where the data originated to the printing buffer 105. The sourcecan be located inside or outside the text/image-supply apparatus 100. Ofcourse, here also, when there is data that is already in the format thatcan be processed by the printer, it is not necessary to performconversion.

The memory or HDD of the text/image-supply apparatus 100 can be used forthis printing buffer 105. For example, in the case that thetext/image-supply apparatus 100 is a set-top box, it is possible to usethe memory unit such as a HD that is originally equipped for thefunction of the set-top box.

In the case of trying to print image data as shown in FIG. 5, the imagedata is converted to a language that can displayed by the printer (herethis is XHTML format or so called ML format) as shown in FIG. 7, andthen stored in the printing buffer 105. When showing the example in FIG.7 conceptually, it is as shown in FIG. 6.

In FIG. 6, the top file T, ‘print1.xml’, means all of FIG. 7, andincludes the data such as the location of the image, the location andsize of the text, or the text that should be printed.

Link file L1, ‘car.jpg’, means the image of company A's automobile thatis stored in the sub-directory of the printing buffer 105 and isdisplayed on the 19th line of FIG. 7, and link file L2, ‘cup.jpg’, meansthe image of the cup that is stored in the sub-directory of the printingbuffer 105 and is displayed on the 22nd line of FIG. 7. The name of thesub-directory of the printing buffer 105 can be code that uniquelycorresponds to the printing job, for example it can be the same as thejob ID.

Also, the printer-control unit 103 performs the process of storing thedata in the printing buffer 105, and when it receives the printingrequest output by the application 101, it issues the printing job to theprinter 200P that in addition to the job ID includes printing conditions(for example, number of prints, printing quality, color instructions,printing orientation, format, etc.)(FIG. 9, step S101).

The printing job that is issued in this way is given to thequeue-control unit 203 via the I/F 104 and bus 300B. The obtained job isstored in this queue-control unit 203 and the job data is given over tothe interpreter 205 in order. The interpreter 205 executes the printingprocess described below based on the path-information data thatindicates the location (URI) in the printing buffer 105 of theprinting-description data contained in this printing job.

FIG. 3 is a functional block diagram showing the construction of theinterpreter. When the judgment unit 2051 of the interpreter 205determines that the signal from the queue-control unit 203 is a printingjob and path data, it notifies the channel-control unit 2052 of thatfact. The channel-control unit 2052 sends an instruction to set achannel in the I/F 204.

The data-transfer-request unit 2053 gives the path data to theprinter-control unit 103 via the channel set by that instruction. Also,the data-transfer-request unit 2053 issues an acquisition request to theprinter-control unit 103 to acquire the top file T, which is thehighest-level data that corresponds to the printing job (FIG. 9, stepS102 --> S103).

Following this request, the printer-control unit 103 sends the requestedtop file T to the interpreter 205 via communication I/F 104 and 204(FIG. 9, step S104). From this, the interpreter 205 starts reading theprinting-description data from the text/image-supply apparatus 100 (FIG.9, step S104).

The data-transfer request here can be a method of requesting an entirearbitrary file be transferred, or that requests that an arbitrary amountof data from an arbitrary position be transferred (that is, request thedata of one file in parts).

The judgment unit 2501 of the interpreter 205 checks the type ofprinting-description data and discards any unnecessary data, then givesthe data to be printed to the rasterizer 202. The rasterizer 202receives the data to be printed and performs rasterization the data, andthe printer engine 201 prints the data on the recording medium.

The judgment unit 2051 detects that a link file L, which is linked tothe top file T, is added to the printing-description data as shown inFIG. 7. When it is detected that a link file has been added, thechannel-control unit 2052 sends an instruction to the I/F 204 to setanother channel that is different than the channel set previously.

As soon as a new channel has been set, the data-request unit 2503 sendsa transfer request to transfer the object. This starts the reading ofthe object data (FIG. 9, step S105, YES --> S121 --> S122 --> S123). Thedata object is read an arbitrary amount of data at a time, and thatvalue can be preset, or the data-amount-calculation unit 2054 cancalculate the necessary amount required at a time for rasterization(FIG. 9, step S111).

Here, when there is a plurality of object files as shown in FIG. 5, theaforementioned amount of data is read to the rasterizer 202 for eachobject file.

In this process, when the amount of data of the object file that is readfirst reaches the aforementioned amount, transfer stops at that instantand the rasterization process is performed (step S112).

As soon as this rasterization process ends and the next data becomesnecessary, data begins to be transferred starting from the next positionin the printing buffer after the position where the previous transferstopped (FIG. 9, step S106, NO --> S107 --> S108). Also, at the instantwhen reading ends for one object, the set channel is released (FIG. 9,step S109, YES -->S110). Moreover, when all of the printing job isfinished, a printing-complete notification is sent to theprinting-control unit 103 (FIG. 9, step S113 --> S114).

FIG. 8 shows this procedure in more detail. The items numbered 1, 2.etc. below correspond to the same numbers in FIG. 8. In this example, anIEEE1394 bus that is capable of using a plurality of channels at thesame time is used, so as will be explained below, channels correspondingto a plurality of objects are set, however, it is also possible totransfer data for a plurality of objects on the same channel (sameline).

-   1. Rasterizes the first base data of the highest layer.-   2. Rasterizes the second base data of the highest layer.-   3. When rasterizing the second base data of the highest layer,    detects an object file that is indicated by link data. Sets a    separate transfer channel and sends a request to the    printing-control unit 103 to transfer the object file, then the    printing-control unit 103 that receives this transfers the data of    the file from the printing buffer 105. The rasterizer performs the    rasterization process based on this data.-   4. When transfer of the object file is interrupted, temporarily    stops reading and continues rasterizing the second base data of the    highest layer.-   5. Rasterizes the third base data of the highest layer.-   6. When rasterizing the third base data of the highest layer,    detects the same object file as in step 3 that is indicated by link    data. Using the same procedure for the object file described in step    3, requests the next data of the laid out data and reads and    rasterizes the file.-   7. When transfer of the object file is interrupted, temporarily    stops reading and continues rasterizing the third base data of the    highest layer.-   8. When rasterizing the third base data of the highest layer,    detects an object file that is indicated by link data and that    indifferent than that in step 6. Sets a transfer channel that is    separate from that in steps 3 and 6, and requests that the data of    the object file be transferred, then reads the file and rasterizes    it.-   9. When transfer of the second object file is interrupted,    temporarily stops reading and continues rasterizing the third base    data of the highest layer.-   10. Rasterizes the fourth base data of the highest layer.-   11. When rasterizing the fourth base data of the highest layer,    detects an object file that is indicated by link data and that is    the same as that in steps 3 and 6. Using the procedure for the    object file described in step 6, requests the next data of the laid    out data, then reads and rasterizes the file.-   12. As soon as the first object file has ended, stops reading and    releases the transfer channel. Continues rasterizing the fourth base    data of the highest layer.-   13. When rasterizing the fourth base data of the highest layer,    detects an object file that is indicated by link data and that is    the same as that in step 8. Using the procedure for the object file    described in step 6, requests the next data of the laid out data,    then read and rasterizes the file.-   14. As soon as the second object file has ended, stops reading and    releases the transfer channel. Continues rasterizing the fourth base    data of the highest layer.-   15. Rasterizes the fifth base data of the highest layer.-   16. Rasterizes the sixth base data of the highest layer.

The first data described above was taken to be path data that indicatesthe location of the top file T (main XHTML data), however, it is alsopossible to send the top data (main XHTML data) from thetext/image-supply apparatus to the printer from the start, and thengradually request the necessary data of the object files.

The procedure above is repeated and when all of the objects have beenproperly transferred, the data-transfer-request unit 2053 of theinterpreter 205 sends a notification that transfer has ended togetherwith the job ID to the printer-control unit 103 of the text/image-supplyapparatus 100. The printer-control unit 103 receives the printing-enddata and removes the printing-description data of that job ID that wasstored in the printing buffer 105 from the printer buffer 105.

Also, in the case when an error occurs in the printer during printing,the printing job must be deleted when necessary. For example, when thepower supplied to the printer is cut off during the printing process,the bus reset mode is set and the printer-control unit 103 of thetext/image-supply apparatus receives the bus reset and sends anotification that the connection with the printer has been lost. At thetiming when the printer-control unit 103 detects that the connectionwith the printer has been lost, it can delete the job ID andprinting-description data that are stored in the printing buffer.

Furthermore, to avoid having unnecessary data remain when an error inthe system occurs, it is possible to have the text/image-supplyapparatus 100 delete the job ID and printing-description data in theprinting buffer 105 when the power to the text/image-supply apparatus100 goes from OFF to ON, or when a timer limit operates according to anarbitrarily set value.

As mentioned above, the printing system of this invention is such thatwhen transferring printing-description data using a serial busconnection, control (stopping and re-starting transfer) is performedsuch that the data is transferred in a format that is readable by theimage-formation apparatus, and data is transferred in specified amountsat a time that can be rasterized by the image-formation apparatus.

By doing this, there is no need for a large printing-description databuffer on the side of the printer for spooling, and furthermore itbecomes possible to get other data at the timing when it is necessary onthe printer side for the printing-description data, and this isadvantageous when performing the rasterization process.

Also, on the side of the text/image-supply apparatus only a job needs tobe issued and there is no need to perform a queuing process, so it ispossible to use the HDD or the like installed inside the apparatus asthe spooling buffer.

Embodiment 2

FIG. 4 is a functional block diagram showing a second embodiment of theinvention. In this embodiment, the text/image-supply apparatus 100 andimage-formation apparatus (printer) 200 are connected together by a bus300B, and the basic construction is the same as in the first embodiment.

However, in this embodiment, in addition to the basic construction ofthe first embodiment, the text/image-supply apparatus 100 has anexternal memory I/F 110 (not shown in the figure) to which anexternal-memory apparatus MC (for example a memory card; a memory cardwill be used in the explanation below) can be mounted.

This external memory I/F 110 transfers the image data inside the memorycard MC to the printer 200P according to a request from theprinter-control unit 103 of the text/image-supply apparatus 100.

Here, when a memory card that stores images from a digital still camerais used as the memory card MC, an application 101 that is capable ofprocessing data from a digital still camera (DSC) is of course used asthe application 101.

As in the first embodiment, the link destination of a link file L thatis written in the top file T is stored as previously explained in theprinter buffer 105, and when a printing request is issued, theprinting-description data that was output according to the application101 is stored in the printer buffer 105. Also, image data that is linkedto the printing-description data is data that can be printed by theprinter 200P and is laid out in the printer buffer 105 from the memorycard MC.

However, here, the data stored in the memory card is data that can beprocessed by the printer 200P such as JPEG data or the like, so in thisstate, the link destination of a link file that is written in the topfile T can be located in a position that corresponds to the object inthe memory card.

However, when the data in the memory card MC is a link destination, thatdata is not deleted even when a notification is sent from the printerside that printing has ended.

With the construction described above, as in the first embodiment, it ispossible to use the internal HDD or the like that is installed in theapparatus as the spooling buffer, or it is also possible to use as is anexternally connected memory card or the like as the printing buffer.Also, in the text/image-supply apparatus it is sufficient to just createthe top data of the printing-description data that contains layout data.

In third, fourth embodiments of the invention to be described below, therasterization method of text/image data in the first and secondembodiments described above will particularly be explained in moredetail.

Embodiment 3

FIG. 10 is a block diagram showing an example of the construction of theprinting system to which the invention is applied, and FIG. 11 is adiagram of the network to which the system is applied.

In FIG. 11, the STB 1000 and printer 2000 are connected together by wayof an IEEE1394 bus 3000. A digital TV or set-top box (STB) can be usedas the STB 1000, however it is also possible to use any device that cansupply text and images. Also, it is also possible to use any devicecapable of forming text or images, such as a printer or facsimile, asthe printer 2000. Furthermore, it is possible to use any means that iscapable of transferring data, such as USB, bluetooth (R), publicnetwork, dedicated line, Internet network or the like, as the IEEE1394bus 3000 shown in FIG. 11.

FIG. 10 shows the internal construction in the case when an IEEE1394 bus3000, STB 1000 and printer 2000 are used, and FIG. 19 is a flowchartshowing that operating procedure. In FIG. 19, it is possible to set aplurality of channels for the transfer paths between the STB 1000 andprinter 2000, and it is presumed that a plurality of individual data istransferred in parallel, however, it is also possible to transfer alldata on one channel.

As shown in FIG. 10, the STB 1000 comprises the following units. Thatis, it comprises: an application 101 that generates theprinting-description data; a conversion unit 102 that converts theformat of the printing-description data output from the application 101to printing-description data having a link file format (here, XHTML isused) with a hierarchical structure that can be read by the printer2000; a printer-control unit 103 that issues printing jobs for printingrequests that correspond to the printing-description data and controlsthe buffer for the printing-description data; a printing buffer 105 thattemporarily stores the printing-description data; and a communicationI/F 104 that is an interface connecting to the IEEE1394 bus 3000.

Also, the printer, which is the printer 2000, comprises: a communicationI/F 204 that is an interface connecting to the IEEE1394 bus 3000; aqueue-control unit 203 that is a queue-control unit that stores theprinting job; an interpreter 205 that interprets theprinting-description data (here it is XHTML data) and gives it to therasterizer; a rasterizer 202 that performs rasterization based onprinting data obtained from the interpreter; and a printer engine 201that visibly records and outputs the rasterized printing-descriptiondata on a recording medium.

With this construction, when the user uses the application to output aprinting request after editing printing data, for example,printing-description data is output from the application 101. Thisapplication 101 can be a mailer, WEB browser or BML browser, DSC albumthat can edit data from a digital still camera, or the like. The data islaid out again by a lay outer, and the conversion unit 102 furtherconverts the data to a language, such as XHTML format for example, thatcan be interpreted on the printer side (of course in this case when thedata that is output from the application is already in XHTML format, itis not particularly necessary to perform conversion).

The printing-description data that is converted in this way is thengiven to the printer-control unit 103 and stored in the printing buffer105. When doing this, image-object files that are linked in theprinting-description data are converted to data (JPEG or PNG format)having a format that can be processed and printed by the printer, andcopied from the original source to the printing buffer 105. This sourcecan be either inside or outside of the text/image-supply apparatus 100.

Of course, here also, when the data is already in a format that can beprocessed and printed by the printer, conversion is not necessary.

The memory or HDD of the STB 1000 can be used as this printing buffer105. For example, when the STB 1000 is a set-top box or digitaltelevision, the memory unit, such as a HDD, that is originally installedin the set-top box or digital television can be used.

Here, when printing image data such as shown in FIG. 5, the data isconverted to a language that can be interpreted by the printer as shownin FIG. 7 (here, XHTML format or so-called ML format is used) and storedin the printing buffer 105. FIG. 6 conceptually shows the example ofFIG. 7. The diagram shown in FIG. 5, in more detail, comprises the dataPRESENT.bml, CAR.jpg and CUP.jpg of FIG. 13A. These data are received bythe STB during a data broadcast, and first stored in the HDD 106 shownin FIG. 10.

The printing-description data that is created by the application 101 inthis way is further converted by the conversion unit 102 into alanguage, such as XHTML format, that can be interpreted on the printerside, handled as the top file for one printing request, and stored inthe memory unit of the text/image-supply apparatus with the structureshown in FIG. 6.

That is, PRESENT.bml in the data shown in FIG. 13A is converted by theconversion unit 102 to print1.xml shown in FIG. 13B. This print1.xml, aswell as the CAR.jpg and CUP.jpg that are saved in the HDD 106 shown inFIG. 10, are saved in the printing buffer 105 shown in FIG. 10. At thistime, CAR.jpg and CUP.jpg can be used as is saved in the HDD 106 withoutbeing saved in the printing buffer 105, however, when the programchanges during data transmission, printing trouble occurs when the datain the HDD disappears, so in that case, it is particularly desirablethat all of the data be saved in the printing buffer 105.

In FIG. 6, the top file T ‘print1.xml’ is data in the highest layer thatsets the framework of the entire printing object, and isprinting-description data that is edited into markup language ML. Also,the top file T contains the location of images, the location and size oftext, text that is to be printed, and the like.

The print1.xml file shown in FIG. 13 corresponds to a top file. The linkfile L1 ‘car.jpg’ is an image of company A's car that is stored in thesub-directory in the printing buffer 105 shown on line 19 in FIG. 7 and,and link file L2 ‘cup.jpg’ is an image of a cup that is stored in thesub-directory in the printing buffer 105 shown on line 22 of FIG. 7. Thename of the sub-directory in the printing buffer 105 can be a code thatuniquely corresponds to the printing job, for example, it can be thesame as the job ID, and it is also further possible to copy each of thefiles from the source where they are originally saved to the printingbuffer 105 and save and store them in the sub-directory.

Also, the printer-control unit 103 performs the aforementioned storageprocess as well as receives a printing request output by the application101 and issues a printing job that contains the job ID and printingconditions (for example, number of prints, print quality, colorinstructions, printing direction, format, etc.) as job data (FIG. 19,step S101).

The printing job that is issued in this way is sent to the queue-controlunit 203 via the I/F 104 and IEEE1394 bus 3000. This queue-control unit203 stores the obtained job, performs queue control, and sequentiallysends the job data to the interpreter 205. The interpreter 205, executesthe printing process described below based on path data that indicatesthe location (URI) in the printing buffer 105 where theprinting-description data contained in this printing job is located.Besides containing the job ID and printing conditions, the queued jobdata also contains path information data indicating the location (URI)in the printing buffer 105 where the printing-description data islocated, however it does not contain data required for text/imageformation (text or image).

Here, FIG. 15 will be used to explain in detail the communicationbetween the STB and printer after the user sends a printing request.

After the user uses the application 101 on the STB and requests thatdesired data be printed (S1501), the application 101 outputsprinting-description data (S1502). The printer-control unit 103 furtherstores the output printing-description data in the printing buffer 105(S1503). At the same time, the image object files that are linked in theprinting-description data are also copied to the printing buffer 105(S1503). Furthermore, a set of data containing, printing conditions thatwere given at the tile of the printing request (number of prints, printquality, color instruction, etc.), an ID given to each printing requestfor identification, and path data indicating the location (URI) of theprinting-description data or top file, is created as job data (S1504).

The STB notifies the printer of the job data (S1505), and when theprinter receives the job data the job data is stored and queued by thequeue-control unit 203 (S1506).

Next, the printer detects the location (URI) of the top file related tothe printing request from the job data (S1507), and based on thatlocation (URI) the printer sends a request to the STB to transfer thetop file (S1508). The STB receives the transfer request from the printerto transfer the top file, then extracts and printing-description datastored in the printing buffer 105 as the top file (S1509) and transfersit to the printer (S1510).

When the printer receives the top file that was transferred from the STB(S1511), it starts the process for calculating the layout based on thetop file and starts rasterization (S1512).

Next, during rasterization, when the judgment unit 2051 detects anobject file A that is linked to the top file (S1513), the printer, byway of the data-request unit 1503, requests that the object file A betransferred (S1514). The STB receives the request from the printer totransfer the object file A, then extracts the object file A that isstored in the printing buffer 105 (S1515) and transfers it to theprinter (S1516).

When the printer receives the object file A that is transferred from theSTB (S1517), it performs the rasterization process for the necessaryband (S1518) and prints the data.

Next, in the printer the rasterization process is performed for the nextnecessary band (S1519). Here, similar as was done before, during therasterization process, when the judgment unit 2051 detects the objectfile A that is linked to the top file (S1520), the printer, by way ofthe data-request unit 2503, requests that the object file A betransferred. The STB receives the request from the printer to transferthe object file A, then extracts the object file A that is stored in theprinting buffer 105 (S1522) and transfers it to the printer (S1523). Theprinter receives the object file A that is transferred from the STB(S1524), and in this band, when the judgment unit 2051 further detectsduring rasterization a new object file B that is linked to the top file(S1525), as before, the printer, by way of the data-request unit 2503,requests that the object file B be transferred (S1526).

The STB receives the request from the printer to transfer the objectfile B, then extracts the object file B that is stored in the printingbuffer 105 (S1527) and transfers it to the printer (S1528). When theprinter receives the object file B that was transferred from the STB(S1529), it performs the rasterization process for the necessary band(S1530) and prints the data.

The process described is repeated, and when the printing process endsfor one job (S1531), the printer deletes the finished job data from thejob queuing (S1532), and further notifies the STB that the job has ended(S1533). The STB receives the notification and acknowledges that the jobhas ended, and deletes the printing-description data (top file) that iscopied and stored in the printing buffer 105, and also deletes the imageobject files that are linked to the printing-description data from theprinting buffer 105 (S1534).

As shown in FIG. 14, when there is a plurality of jobs, after one jobhas ended, processing is performed to connect the jobs (queuing) to moveon to the next job.

FIG. 3 is a functional block diagram showing the construction of theinterpreter. When the judgment unit 2051 of the interpreter 205determines that a signal sent from the queue-control unit 203 in thisway is a printing job from the path data that indicates the location ofthe top file contained in that signal, it sends an instruction to thechannel-control unit 2052. The channel-control unit 2052 receives thatinstruction and instructs the I/F 204 to set a channel. By doing this,the data-transfer-request unit 2053 sends the path data to theprinter-control unit 103 by way of the set channel, and issues anacquisition request to the printer-control unit 103 to acquire the topfile T, which is the highest-layer data that corresponds to the printingjob (FIG. 19, step S102 --> S103).

According to this, the printer-control unit 103 sends the requested topfile T to the interpreter 205 by way of the communication I/Fs 104, 105(FIG. 19, step S104). Then the interpreter 205 starts reading theprinting-description data from the STB 1000 (FIG. 19, step S104).

The method used here for requesting that data corresponding to the topfile T be transferred is a method of indicating the top file, which isthe printing object, and requesting that it all be transferred at once.However, in this method, when the amount of data in the top file Tbecomes large, it places a burden on the transmission path and there isa possibility that it may affect other devices, so a method ofrequesting an arbitrary amount of data starting from an arbitraryposition in the top file is also possible. The method of requesting anarbitrary amount of data could be a method that divides up the data inone file, and requests it in parts. More particularly, in the firstrequest, 10 KB of data starting from the start of the top file isrequested, then, in the next request, 10 KB of data starting from aposition offset 10 KB from the start is requested.

In addition, the judgment unit 2501 of the interpreter 205 determinesthe type of the printing-description data and discards any unnecessarydata (for example audio data), then gives the data to be printed to therasterizer 202. The rasterizer 202 that receives the data to be printedin this way rasterizes the data, and the printing engine 201 prints thedata on a recording medium.

The judgment unit 2051 detects that a link file L that is linked to thetop file T has been added to the printing-description data as shown inFIG. 7. After detecting that a link file L has been added, thechannel-control unit 2052 sends an instruction to the I/F 204 to set adifferent channel than the currently set channel. As soon as the newchannel is set, the data-request unit 2503 sends a transfer request totransfer the object. According to this request, reading of the link fileas the object file begins (FIG. 19, step S105, YES --> S121 --> S122 -->S123). This object file can be read an arbitrary amount at a time, andthat value can be set in advance, or it is possible for thedata-amount-calculation unit 2054 to calculate and set the amount ofdata needed for rasterization at that time (FIG. 19, step S111).

In more detail, rasterization is performed in band units, and the amountof data necessary for the one band is set based on printing conditions,such as the paper size obtained at the time of the printing request.Also, the necessary amount of the object file that is to be processed inone band is calculated based on layout data for the object file that isobtained from the top file T by the judgment unit 2051. Therefore, inthe case where the amount of data of the object file that is necessaryfor one band is 10 KB, for example, it is possible for the printer torequest that only 10 KB of the object file be transferred and thentransfer is performed one time, or it is possible to transfer 1 KB ofdata ten times. Also, normally object files such as image data arecompressed, so it is possible for the printer to set that 1 KB of databe transferred at one time and perform decompression each time the datais received, and then determine whether or not the amount of data of theobject file necessary for one band has been satisfied. If the amount hasnot yet been satisfied, requests to continue transferring the objectfile are performed until the necessary amount has been satisfied. Withthis kind of process, the necessary amount of data is collected as theentire data for one band and rasterization is performed.

Here, as shown in FIG. 13, when there is a plurality of object files,the calculation described above is performed for each object file, andthe amount of data necessary for one band-processing unit is read foreach file, respectively.

In this process, as soon as the amount of data of the read object filereaches the amount of data necessary for band processing, transfer istemporarily interrupted, and rasterization is performed (FIG. 19, stepS112). It is also possible to perform the next transfer process in thebackground as long as there is enough memory even though transfer isinterrupted in this way. After the rasterization process ends and itbecomes necessary again in the next rasterization process to transferthe data that had been interrupted, transfer of data begins from thenext position in the printing buffer 105 after the position wheretransfer stopped the previous time (FIG. 19, step S106, NO --> S107 -->S108). Also, as soon as reading of one object is completed, the channelthat was set like this is released (FIG. 19, step S109, YES --> S110).Moreover, when all of the printing job is completed, theprinting-control unit 103 is notified that printing has ended (FIG. 19,step S113 --> S114).

The general relationship between the printing job and the object is asshown in FIG. 18. That is, each printing job is divided by printingobjects, and the data of each printing object corresponds to the object.In the third embodiment, there is one job and two objects.

FIG. 8 shows this procedure in more detail. The steps 1, 2 . . . belowcorrespond to the symbols 1, 2 . . . in FIG. 8. In this example, a busIEEE1394 that is capable of being used by a plurality of channels at thesame time is used, so as will be described below, a correspondingchannel will be set for each of the plurality of objects, however, ofcourse it is also possible to transfer the data of a plurality ofobjects using the same channel (same line). Here, it is presumed thatthe top file has already been read using the procedure described above.When relating the opening and closing of the channel to FIG. 8, theprocess is as shown in FIG. 16. Furthermore, the relationship betweenthe channel and the file to be transferred is shown in FIG. 17.

1. First, base data (text data) written in the top file of the highestlayer is rasterized in the first bandwidth.

2. Rasterization of the base data written in the top file of the highestlayer is started in the second bandwidth.

3. An object file (image data) that is indicated by link data isdetected during rasterization of base data written in the top file ofthe highest layer in the second bandwidth. Here, another channel is setand a transfer request to transfer the object file is sent to theprinter-control unit 103, then the printer-control unit 103 thatreceived the request transfers the data of the file from the printingbuffer 105.

That is, at the same time that the base data is being rasterized (orafter the top file has been received) in the second bandwidth, thedata-amount-calculation unit 2054 calculates from the layout data of theobject the amount of data necessary for rasterization of the object inthat bandwidth, then the data-transfer-request unit 2053 sends atransfer request to the printer-control unit 103 to transfer the objectfile. Normally, an object file of image data is in a compressed formatsuch as JPEG, and in this case the following occurs.

When the data-amount-calculation unit 2054 calculates the necessaryamount of data for rasterization of object data (for example 10 KBytes)in that bandwidth, the data-transfer-request unit 2053 performs atransfer request for transferring a preset amount of data (for example 4KBytes) of the compressed object file. After the transfer process, thedata of the transferred object file is expanded, and when the obtainedamount of data (for example 7 KBytes) is less than the necessary amountof data for rasterization of the object data in that bandwidth, theprocess is repeated again. In this way, the transfer request isperformed until the necessary amount of data for rasterization of theobject data in that bandwidth is reached.

(The rasterizer continues the rasterization process of the object basedon this data.)

4. As soon as there is enough data to perform rasterization of theprevious object file in the second bandwidth, reading of the object fileis temporarily interrupted and the second rasterization of base datawritten in the top file of the highest layer continues.

5. Rasterization of the base data written in the top file of the highestlayer starts in this third bandwidth.

6. The same object file (image data) that is indicated by link data instep 3 is detected during rasterization of base data written in the topfile of the highest layer in the third bandwidth. The continuing data ofthe object file data laid out by the procedure in step 3 is requestedand the file is read, then rasterization continues.

7. As soon as there is enough data of the previous object file toperform rasterization in the third bandwidth, reading of the object fileis interrupted and the third rasterization of the base data written inthe top file of the highest layer continues.

8. An object file (image data) indicated by link data that is differentthan that in step 6 is detected during rasterization in the thirdbandwidth of the base data written in the top file of the highest layer.At that time a transfer channel that is different that the one in steps3 and 6 is established, and transfer of the data of the object file isrequested by the same procedure as in step 3 and the file is read, thenrasterization continues.

9. As soon as there is enough data of the second object to performrasterization in the third bandwidth, reading of the object file istemporarily interrupted and the third rasterization of the base datawritten in the top file of the highest layer continues.

10. Rasterization of base data written in the top file of the highestlayer starts in the fourth bandwidth.

11. The same object file (image data) that is indicated by link data instep 3 and 6 is detected during rasterization in the fourth bandwidth ofbase data written in the top file of the highest layer. The continuingdata of the object file data laid out by the procedure in step 6 isrequested and the file is read, then rasterization continues.

12. As soon as rasterization of the first object file is finished,reading ends, and the transfer channel is released. Also, rasterizationin the fourth bandwidth of the original base data written in the topfile of the highest layer continues.

13. The same object file indicated by link data in step 8 is detectedduring rasterization in the fourth bandwidth of base data written in thetop file of the highest layer. The continuing data of the object filedata laid out by the procedure in step 6 is requested and the file isread, then rasterization continues.

14. As soon as rasterization of the second object file is finished,reading ends, and the transfer channel is released. Also, rasterizationin the fourth bandwidth of the original base data written in the topfile of the highest layer continues.

15. The base data written in the top file of the highest layer israsterized in the fifth bandwidth.

16. The base data written in the top file of the highest layer israsterized in the sixth bandwidth.

When there is a plurality of object files necessary for rasterization inone band processing unit, the text/image-formation apparatustheoretically performs transfer requests in parallel to transfer theplurality of objects. Therefore, theoretically by setting and assigningchannels on the transmission path corresponding to each of the objectsit becomes possible to transfer data independently, which has the effectof simplifying control.

It is also possible for the text/image-formation unit to control onlyone channel and request the transfer of a plurality of objects.

In the description above, the first data was path data indicating thelocation of the top file T (main XHTML data), however, it is alsopossible to send the data of the top file (main XHTML data) to theprinter from the text/image-supply apparatus from the beginning, andthen to sequentially request the necessary object file data.

After the procedure described above has been repeated and transfer ofall of the objects required by the printing request ends properly,rasterization ends, and after the data has been printed on the recordingmedium, the data-transfer-request unit 2053 sends an end notification tothe printer-control unit 103 of the STB 1000 together with the job ID.The printer-control unit 103 that received the printing end notificationdeletes from the printing buffer 105 the printing-description data (topfile) of that job ID together with the object files that are linked toit, which were stored in the printing buffer 105.

(Also, in the case that a sub-directory is created that relates the jobID to a job, and all of the files (including the top file) that arenecessary for that job are stored together in that sub-directory, thetext/image-supply apparatus receives the printing end data and theprinter-control unit 103 deletes that sub-directory at one time.)

Instead of the receiving an end notification from the printer, deletionof data from the printing bugger 105 can also be performed by thetext/image-supply apparatus sending an inquiry to the printer to detectwhether or not it is possible to delete the data.

Also, when an error occurs in the printer during printing, the printingjob must be deleted when necessary. For example, when there is a loss ofpower on the side of the printer during the printing process, the busreset mode is set for the IEEE1394 and the printer-control unit 103 ofthe STB 1000 receives the bus reset and sends a notification that theconnection with the printer has been lost. At the timing when theprinter-control unit 103 detects that the connection with the printerhas been lost, it can delete the job ID and printing-description datathat are stored in the printing buffer.

Furthermore, to avoid having unnecessary data remain when an error inthe system occurs, it is possible to have the STB 1000 delete the jobdata and printing-description data in the printing buffer 105 when thepower to the STB 1000 goes from OFF to ON, or when a timer limitoperates according to an arbitrarily set value.

As mentioned above, the printing system of this invention is such thatwhen transferring printing-description data using a serial busconnection, control (stopping and re-starting transfer) is performedsuch that the data is transferred in a format that is readable by theimage-formation apparatus, and data is transferred in specified amountsat a time that can be rasterized by the image-formation apparatus foreach band unit.

By doing this, there is no need for a large printing-description databuffer on the side of the printer for spooling, and furthermore itbecomes possible to get other data at the timing when it is necessary onthe printer side for the printing-description data, and this isadvantageous when performing the rasterization process.

Also, on the side of the text/image-supply apparatus only a job needs tobe issued and there is no need to perform a queuing process, so it ispossible to use the HDD or the like installed inside the apparatus asthe spooling buffer.

In this embodiment, an example was given in which a BML file created bythe contents supplier was converted in the STB to an XML file, however,it is possible to send the BML file from the STB to the printeraccording to a printing instruction from the user, and to convert theBML file to an XML file in the printer and then for the printer whennecessary to PULL the link files stored in the HDD of the STB based onthe XML file created in this printer.

Embodiment 4

FIG. 12 is a functional block diagram showing a fourth embodiment of theinvention. In this example, the STB 1000 and text/image-formationapparatus (printer) 200 are connected together by an IEEE1394 bus 3000,and the basic construction is the same as that of the third embodiment.

However, in this fourth embodiment, in addition to the basicconstruction of the third embodiment, the STB 1000 comprises an externalmemory unit MC (for example, a memory card; a memory card will beexplained below) that has a mountable external memory I/F.

This external memory I/F 110 transfers the image data inside the memorycard MC to the printer 2000 according to a request from theprinter-control unit 103 of the STB 1000.

Here, when a memory card MC that stores images from a digital stillcamera is used as the memory card MC, an application 101 that can ofcourse process data of a digital still camera (DSC) is used as theapplication 101.

For example, when using a memory card MC on which images from a digitalstill camera are stored, the user activates the application 101 andreads all of the images stored on the memory card MC. Instead of all ofthe images, it is also possible to display thumbnail images on thedigital TV screen and then display only the necessary images on aselection screen such that they can be selected. The image to be printedis selected from among the read images, and the layout is further editedsuch that the image taken by a digital still camera is laid out in thedesired form to be printed. After the user finishes editing using theapplication 101, the user then sends a printing instruction to theapplication, and the application generates printing-description dataaccording to the edited contents and printing request. This generatedfile corresponds to the top file in embodiment 3. In this fourthembodiment the top file does not exist already as in the thirdembodiment, so it must be created, and it can be created by using eitherthe STB application or printer application. When it is created by theprinter, only data indicating which image was selected on the STB screenand which layout was selected is sent from the STB to the printer, andthe top file is created based on this sent data. It is possible to putthe link file in the top file directly from the memory card MC, or inorder to perform processing similar to that of embodiment 3, it ispossible to send all of the data from the memory card MC of the printerto the HDD 106 of the STB or printing buffer 105.

The printing-description data generated by this kind of application 101is further converted by a conversion unit 102 to a language that can beread by the printer, for example, is converter to XHTML format, and thehandled as the top file T for one printing request, and then stored inthe memory unit of the text/image-supply apparatus having theconfiguration shown in FIG. 6.

In the third embodiment, the link destination of the link file L enteredin the top file T is the printing buffer 105 as before, and when thereis a printing request, the printing-description data edited using theapplication is stored in the printing buffer 105. Also, the object data(image data) linked to that printing-description data is laid out fromthe memory card MC in the printing buffer 105 as data that can beprinted by the printer 2000.

However, when the object data stored in the memory card MC here is datathat can be processed by the printer 2000 such as JPEG data, in thisstate, the link destination of the link file entered in the top file Tcan be a location that corresponds to the object data in the memorycard.

In the case when the object data stored in the memory card is not datathat can be printed by the printer 2000, the printer-control unit 103can convert the data to data that can be printed by the printer 2000,and then transfer it to the printer 2000. Also, in the case when theprinter-control unit 103 handles object data in the memory card thatcannot be printed by the printer 2000, it can perform the following kindof processing. That is, it can store the object data in the printingbuffer 105, and then when that data is to be transferred to the printer2000, the printer-control unit 103 can convert that data to data thatcan be printed by the printer 2000 before transferring it to the printer2000. It is also possible to store the data in the buffer 105 while(after) converting it.

However, when the data in the memory card MC are taken to be the linkdestination, the data is not deleted even when the printer sends anotification that printing has ended.

With the construction described above, as in the case of the thirdembodiment, it is possible to use an internal HDD as a spooling buffer,or is also possible to use an externally connected memory card or thelike as is as a printing buffer. Moreover, it is enough for thetext/image-supply apparatus to just create the top file of theprinting-description data that includes the layout information.

In the case of the prior printer apparatus disclosed in Japanese patent2000-66867, rasterization is performed after text and images have beenlaid out and combined in page units based on the data of the top file,and then output to a recording medium as a visible record. Therefore,similar to the disadvantage of the push-type method, it is necessary tohave a printing buffer on the side of the printer that has a specifiedcapacity (in this case, the capacity must be at least enough for theentire page), and thus cost limits occurred. However, with thisinvention, there is no need to have a large-capacity memory unit such asa hard disc on the side of the text/image-formation apparatus.Particularly, when processing text/image data containing a plurality offiles, by having a channel for each file, it becomes easy to performchannel control for transferring data between the STP 1000 and printer2000, and thus it is possible to obtain the effect of simplifying dataprocessing between the STB 1000 and printer 2000.

Embodiment 5

Next, a fifth embodiment of the invention will be explained. In theembodiments described above, examples were giving of communication thatused an IEEE1394 bus, however, here FIGS. 20 to 22 will be used toexplain in detail the use of ‘Bluetooth’ (R) instead of an IEEE1394 bus.

Bluetooth is a name used for the currently standardized remote wirelesstechnology, and the following explanation uses the terminology that isused by this Bluetooth standardization group, ‘The Bluetooth SpecialInterest Group (SIG)’.

First, FIG. 20 is used to explain the Bluetooth protocol. In theBluetooth standards, the baseband 2001, LMP (Link Manager Protocol)2002, L2CAP (Logical Link Control and Adaptation Protocol) 2003, RFCOMM2004, SDP (Service Discovery Protocol) 2005 and TCS (Telephony ControlProtocol Specification Binary) 2006 are regulated.

Also, in the case of using Bluetooth, the application can performcommunication using OBEX (Object Exchange) or TC/IP that is normallyused in conventional communication technology. Furthermore, theBluetooth standards regulate the types of profiles 2101 (for eachapplication) shown in FIG. 21.

Of these profiles, in this fifth embodiment, the case of using theobject exchange profile 2102 will be explained.

The general-purpose object exchange profile comprises all of theprocesses used with performing object (file) exchange, and depending onthe type of exchange method, the ‘Object Push Profile’ 2103, the ‘FileTransfer Profile’ 2104, the ‘Synchronization Profile’ 2105 or the ‘BasicPrinting Profile’ (BPP) 2106 is used.

Examples of using each profile are shown in FIG. 22. The object pushprofile 2103 is used when performing comparatively small sized objectexchange (Push/Pull type) such as when exchanging name and addressinformation using portable telephones (example 2201). The file transferprofile 2104 is used when transferring comparatively large files betweenpersonal computers (example 2202). The synchronization profile 2105 isused when realtime transfer of audio and video (data synchronizationfunction) is necessary even when there is an asynchronous connection(example 2203). Also, the basic printing profile (BPP) 2106 in usetogether with the Object Exchange (OBEX) makes it possible for a PDA orportable telephone (a device without a printer port) to communicate witha printer without a printer driver (example 2204). By having an objectexchange program, OBEX 2008, installed in the RFCOMM 2004, these make anasynchronous connection between a master and a slave possible.

Here, a more specific example of using the Basic Printing Profile 2106of the object exchange profiles will be explained.

In the Basic Printing Profile 2106, there is a Simple Push TransferModel and a Job Based Transfer Model. Each of these will be explainedbelow.

In the Simple Push Transfer Model, the sending side (image-supplyapparatus 100) uses PUT REQUEST according to the OBEX protocol to sendthe object to the receiving side (image-formation apparatus 200). Inthis model, neither job management nor the acquisition of status isperformed the two sides.

When the image-supply apparatus 100 generates a printing request, theapplication uses the OBEX protocol Operation (=File Push) to senddocument data to the image-formation apparatus 200. At this time, thedocument data is included in one OBEX header, or in other words the BodyHeader.

Also in this model, when a referenced object such as image data isincluded the printing contents, the image-formation apparatus 200 has amechanism that is capable of searching for image data from theimage-supply apparatus 100 at the connection destination, and in thatcase, the image-formation apparatus 200 uses the GET REQUEST instructionor Operation (=Get Referenced Objects) in the OBEX protocol to perform asend request to the image-supply apparatus 100 to send the requiredreferenced object. At this time, the image-formation apparatus 200 setsthat the GET request is a referenced object in the Type Header, which isan OBEX header, sets URI in the Name Header, and sets the Offset andCount in the Application parameter header. The Offset indicates theamount of offset (bytes) with respect to the image or file data, and theCount indicates the amount (bytes) to be sent. The image-supplyapparatus 100 receives the request and sets the image data requested bythe image-formation apparatus 200 in the OBEX response Body Header asGET RESPONSE, and sends it to the image-formation apparatus 200.

Also, in the Job Based Transfer Model, communication is performed usingthe OBEX protocol in the same way as described above, however, itdiffers from the Simple Push Transfer Model, in that the job isgenerated and data transfer is performed based on the job ID. In thecase of a message response for job management or status acquisition, theresponse is put in the form of a record with SOAP/XML format andexchanged.

When the document data itself is transferred, first, after theapplication of the image-supply apparatus 100 performs the jobgeneration process using the OBEX protocol GET REQUEST or Operation(=Create Job), the image-supply apparatus 100 receives the Job IDincluded in the Application parameter header as the GET RESPONSE fromthe image-formation apparatus 200. Them the image-supply apparatus 100uses the PUT REQUEST or Operation (=Send Document) to send the documentdata. At this time, the document type is set in the OBEX Type Header,and the printing data itself is set in the Body Header. Also in thiscase, as in the case of the Simple Push Transfer Model, when areferenced object such as image data is contained in the printingcontents, the image-formation apparatus 200 has a mechanism that iscapable of searching for the image data from the image-supply apparatus100 at the connection destination, and in that case, the image-formationapparatus 200 uses the GET action or Operation (=Get Referenced Objects)according to the OBEX protocol to perform a send request to theimage-supply apparatus 100 to send the required referenced object. Atthis time, the image-formation apparatus 200 sets that the GET requestis referenced object in the Type Header OBEX header, sets URI in theName Header, and sets the Offset and Count in the Application parameterheader. The Offset indicates the offset amount (bytes) with respect tothe image or file data, and the Count indicates the amount (bytes) to besent. The image-supply apparatus 100 receives this request, then setsthe image data requested by the image-formation apparatus 200 in theresponse OBEX Body Header as GET RESPONSE, and sends it to theimage-formation apparatus 200.

Also, in the Simple Push Transfer Model, in addition to the applicationusing the PUT REQUEST OBEX protocol or Operation (=File Push) to sendthe document data to the image-formation apparatus 200, the image-supplyapparatus 100 uses the Operation (=Simple Reference Push) to set the URLfor referencing the OBEX Body Header without sending the document dataitself, and the image-formation apparatus 200 that receives it uses theOBEX protocol GET REQUEST or Operation (=Get Referenced Objects) basedon the obtained reference URL to perform a send request to theimage-supply apparatus 100 to send the required referenced documentdata.

Also, in the case of the Job Based Transfer Model, as in the case of theSimple Push Transfer Model, during processing of the Job Based TransferModel, the image-supply apparatus 100 uses the PUT REQUEST or Operation(=Send Reference) instead of the Operation (=Send Document) to set a URLfor referencing the OBEX Body Header without sending the document dataitself, and then the image-formation apparatus 200 that received this,uses the OBEX protocol GET REQUEST or Operation (=Get ReferencedObjects), and sends a send request to the image-supply apparatus 100 tosend the required referenced document data based on the obtainedreference URL.

As described above, in the case of using ‘Bluetooth’ as well, theimage-formation apparatus 200 and acquired just a specified amount datafrom a specified part of the image data from the image-supply apparatus100.

1. A text/image data-transfer method used between a text/image-supplyapparatus and text/image-formation apparatus that are connected by acommunication means and that performs transfer based on layeredprinting-description data having a highest-level data and an image datafile, the highest-level data including link information, text data, andinformation presenting a layout of a print object, the image data filebeing linked with the link information in the highest-level data, themethod comprising: a step of transferring data, which specifies thehighest-level printing-description data, from said text/image-supplyapparatus to said image-formation apparatus; a step of sending atransfer request from said text/image formation apparatus to saidtext/image-supply apparatus based on data that specifies saidhighest-level printing-description data to transfer said highest-levelprinting-description data; a step of transferring said highest-levelprinting-description data from said text/image-supply apparatus to saidtext/image-formation apparatus based on a said transfer request fromsaid text/image-formation apparatus; a step of the text/image formationapparatus requesting, from the text/image supply apparatus, a firstportion of the image data file corresponding to link information, whensaid link information was detected by the text/image formation apparatusin said highest-level printing-description data, for a firstrasterization process of said text/image-formation apparatus; a step ofrasterizing the first portion of the image data file corresponding tolink information, for the first rasterization process; a step of thetext/image formation apparatus requesting, from the text/image supplyapparatus, subsequent to the step of rasterizing the first portion ofthe image data file corresponding to the link information, a secondportion of the image data file corresponding to the link information,for a second rasterization process of said text/image-formationapparatus; and a step of judging when all of a printing jobcorresponding to the highest-level printing-description data is finishedor not, returning to the step of the acquiring a first portion of theimage data file corresponding to the link information when all of theprinting job is not finished, and sending a printing-completenotification to said text/image-supply apparatus when all of theprinting job is finished.
 2. The text/image data-transfer method ofclaim 1 wherein said text/image-formation apparatus is operable to senda request to said text/image-supply apparatus to transfer data atarbitrary timing.
 3. The text/image data-transfer method of claim 1wherein said text/image-formation apparatus is operable to send arequest to said text/image-supply apparatus to transfer data atarbitrary timing, and said text/image-formation apparatus is operable torequest in parallel that portions of a plurality of image data filescorresponding to a number of links detected in the highest-levelprinting-description data by the text/image-formation apparatus betransferred from said text/image-supply apparatus, when sending atransfer request to transfer image data files necessary for saidrasterization process.
 4. The text/image data-transfer method of claim 1wherein said text/image-formation apparatus is operable to send arequest to said text/image-supply apparatus to transfer data atarbitrary timing, said text/image-formation apparatus is operable torequest in parallel that portions of a plurality of image data filescorresponding to a number of links detected in the highest-levelprinting-description data by the text/image-formation apparatus betransferred from said text/image-supply apparatus, when sending atransfer request to transfer image data files necessary for saidrasterization process, and said text/image-formation apparatusindependently controls the data transfer process when transfer of saidportions of the plurality of image data files are requested in parallel.5. The text/image data-transfer method of claim 1 wherein saidtext/image-formation apparatus specifies an arbitrary amount of datafrom an arbitrary position in the image data file and sends a request tosaid text/image-supply apparatus to transfer data.
 6. The text/imagedata-transfer method of claim 1 wherein transfer of the image data fileis performed one time or repeated a plurality of times until saidarbitrary amount of data necessary for one rasterization process isobtained.
 7. The text/image data transfer method of claim 1 wherein saidlink information contains information specifying at least the storagelocation of the image data file stored by said text/image-supplyapparatus.
 8. The text/image data-transfer method of claim 1 whereinsaid link information contains information specifying at least thestorage location of the image data file stored by said text/image-supplyapparatus, and said information specifying said storage location is pathinformation.
 9. The text/image data-transfer method of claim 1 whereinsaid link information contains information specifying at least thestorage location of the image data file stored by said text/image-supplyapparatus, and said information specifying said storage location is aURI (Universal Resource Identifier).
 10. The text/image data-transfermethod of claim 1 wherein said information that specifies saidhighest-level printing-description data is path information.
 11. Thetext/image data-transfer method of claim 1 wherein said information thatspecifies said highest-level printing-description data is a URI(Universal Resource Identifier).
 12. The text/image data-transfer methodof claim 1 wherein said text/image-supply apparatus transfers an imagedata file according to a data-transfer request from saidtext/image-formation apparatus based on said link information.